Telegram Group Search
🌐 Chrome vs. FireFox vs. Opera vs. ...

В этом споре активно участвуют как простые пользователи, так и профессиональные разработчики. Если для первых дело скорее в привычках, удобстве и личных предпочтениях, то вторые приводят серьёзные аргументы в пользу любимых интернет-обозревателей.

Каждый браузер имеет свои козыри: Chrome — бешеную популярность и интеграцию с Google-сервисами, Firefox — открытый исходный код и приватность, Opera — встроенные фишки для разработчиков.

А где же истина? Какой браузер предпочитаете вы? Голосуйте и пишите своё мнение в комментариях 💬

❤️ — Chrome
👍 — FireFox
👏 — Opera
🌚 — другие

🐸 Библиотека мобильного разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
💬 В чем здесь проблема и как вы можете ее решить?

Рассмотрим этот фрагмент кода, который пытается получить цвет темы из локального хранилища устройства iOS:

var color = UserDefaults.standard.string(forKey: "themeColor")!  
print(color)


Ответ:

Первая строка извлекает цвет темы из user defaults. Этот метод, однако, возвращает optional (поскольку themeColor может быть не определен). Если ключ не найден, возвращается nil, что приводит к крашу:

fatal error: unexpectedly found nil while unwrapping an Optional value

Это происходит потому, что в первой строке используется ! для force unwrap optional, которое теперь nil. Force unwrapping должно использоваться только тогда, когда вы на 100% уверены, что значение не nil.

Чтобы исправить это, вы можете использовать optional binding для проверки, найдено ли значение для ключа:

if let color = defaults.stringForKey("themeColor") { print(color)}


🐸 Библиотека мобильного разработчика

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👏 Топ-вакансий для мобильных разработчиков за неделю

Java / Kotlin разработчик (Software Engineer)до 450 000 ₽, гибрид (Москва)

Junior iOS developer/Младший iOS разработчикдо 150 000 ₽, гибрид (Москва)

iOS разработчикдо 450 000 ₽, гибрид (Москва, Санкт-Петербург)

Android-разработчикот 150 000 ₽, офис (Москва, Санкт-Петербург)

Android Developerот 4 500 до 5 500 €, удалёнка

➡️ Еще больше топовых вакансий — в нашем канале Mobile jobs

🐸 Библиотека мобильного разработчика

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
✏️ Шпаргалка: как можно получить тип класса?

1. Получение типа класса через функцию ::class

Функция ::class возвращает объект KClass, который содержит информацию о типе класса во время выполнения.

class Person(val name: String, val age: Int)

fun main() {
val person = Person("John", 30)
println(person::class) // выводит "class Person"
}


2. Получение типа класса через функцию
javaClass

Функция javaClass возвращает объект Class, который содержит информацию о типе класса во время выполнения.

class Person(val name: String, val age: Int)

fun main() {
val person = Person("John", 30)
println(person.javaClass) // выводит "class Person"
}


3. Получение типа класса через функцию
::class.java

Вызов функции ::class.java на объекте типа KClass возвращает объект Class, который содержит информацию о типе класса во время выполнения.

class Person(val name: String, val age: Int)

fun main() {
val person = Person("John", 30)
println(person::class.java) // выводит "class Person"
}


🐸 Библиотека мобильного разработчика 

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👾 Kotlin Multiplatform: как писать код один раз и покорить все платформы

Kotlin давно перерос статус языка «только для Android». Благодаря технологии Kotlin Multiplatform (KMP), он позволяет создавать приложения, которые работают на JVM, iOS, macOS, вебе и других платформах, сохраняя единый код бизнес-логики.

В статье — без лишнего пафоса о том, как устроена архитектура KMP, чем она отличается от Flutter и React Native, как работает сборка, где границы общего и платформенного кода и почему это решение подходит командам, стремящимся к эффективности без компромиссов.

➡️ Читать статью

🐸 Библиотека мобильного разработчика

#cвежак
Please open Telegram to view this post
VIEW IN TELEGRAM
📱 How to: оптимизировать работу с API в мобильных приложениях

Проблема: Долгая загрузка данных, лишние запросы и падение приложения при плохом интернете.

1️⃣ Кеширование данных

Используйте Room (Android) или CoreData (iOS) для локального хранения:

// Android + Kotlin  
@Dao
interface UserDao {
@Query("SELECT * FROM users")
fun getUsers(): Flow<List<User>>
@Insert(onConflict = OnConflictStrategy.REPLACE)
suspend fun saveUsers(users: List<User>)
}

// iOS + Swift  
func saveUsers(_ users: [User]) {
let context = persistentContainer.viewContext
users.forEach { user in
let entity = UserEntity(context: context)
entity.id = user.id
entity.name = user.name
}
try? context.save()
}


2️⃣ Пагинация

Делите данные на страницы:

🔵 Android: Paging 3 + RemoteMediator
🔵 iOS: UICollectionViewDiffableDataSource + async/await

3️⃣ Повтор запросов при ошибках

// iOS  
func fetchWithRetry(maxAttempts: Int = 3) async throws -> Data {
for attempt in 1...maxAttempts {
do {
return try await fetchData()
} catch {
if attempt == maxAttempts { throw error }
try await Task.sleep(nanoseconds: 1_000_000_000 * UInt64(attempt))
}
}
fatalError("Unreachable")
}


4️⃣ Оптимизация JSON

🔵 Используйте kotlinx.serialization (Android) и Codable (iOS)
🔵 Исключайте ненужные поля через @Transient / @Ignore

5️⃣ HTTP-кеширование

// Android + OkHttp  
val client = OkHttpClient.Builder()
.cache(Cache(cacheDir, 10 * 1024 * 1024)) // 10 MB
.build()


💬 Как вы оптимизируете работу в своих проектах? Делитесь опытом

🐸 Библиотека мобильного разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Промпт дня: настройка Firebase для мобильных приложений

Запутались в настройке Firebase для Android/iOS? Используйте этот промпт, чтобы быстро разобраться с типовыми задачами и избежать распространённых ошибок:

📝 Промпт:

Provide a step-by-step guide for setting up Firebase in a mobile
1. Initial setup for Android/iOS
2. Typical configuration mistakes and how to avoid them
3. Best practices for structuring Firestore/Firebase Auth
4. Performance optimization tips


📌 Дополнительные варианты:

Suggest solutions for common Firebase authentication errors (если столкнулись с проблемами логина)
Compare Realtime Database vs Firestore for a chat app (если выбираете базу данных)
Provide code samples for offline mode implementation (для работы без интернета)

💡 Лайфхак:

Добавьте Explain like I'm a junior developer, если нужно максимально простое объяснение.

А как вы настраиваете Firebase? Делитесь лайфхаками в комментариях 💬

🐸 Библиотека мобильного разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
📱 Вечер откровений: как вы получили работу мечты

Каждый разработчик мечтает попасть в топовую компанию или работать над крутым проектом. Но как пройти этот путь от первых строчек кода до оффера мечты?

Расскажите свою историю в комментариях:

– О какой работе вы мечтали?
– Как готовились к собеседованиям?
– С какими трудностями столкнулись?
– Что в итоге помогло получить оффер?


А вот вдохновляющая история от нашего подписчика:
Я годами хотел попасть в команду мобильной разработки крупного fintech-стартапа. После сотни прочитанных статей и десятка пет-проектов я наконец получил собеседование. На техническом этапе я запаниковал и забыл, как работает LiveData в Android. Но честно признался: «Сейчас не помню, но я разберусь и пришлю ответ позже». Каково же было удивление, когда мне сказали, что честность и желание учиться — именно то, что они искали! Теперь я тут работаю.


Ваш опыт важен — делитесь историями и вдохновляйте других 💬

🐸 Библиотека мобильного разработчика

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 XCUITest для начинающих

Если вы начинали автоматизировать UI-тесты под iOS, то наверняка заметили, что информации по фреймворку XCUITest в сети не так много, особенно на русском языке.

Эта статья — краткое руководство по основам автоматизации на XCUITest. Здесь автор постарался собрать ключевые моменты, которые помогут вам сделать первые шаги в тестировании iOS-приложений.

👉 Читать статью

🐸 Библиотека мобильного разработчика

#cвежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🚨 Смешные новости про IT теперь в одном канале

Мы запустили @hahacker_news — наш новый юмористический IT-канал.

Туда будем постить лучшие шутки до 19го мая, которые вы присылали на конкурс.

👉 @hahacker_news — голосование уже идёт, переходите, читайте, угарайте и оставляйте реакции
👨‍💻 Облегчаем поиск работы

В карточках рассказали о действиях, которые мешают найти работу в ИТ, особенно в начале карьеры.

➡️ Подробнее в статье

🐸 Библиотека мобильного разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/05/17 19:59:15
Back to Top
HTML Embed Code: